package com.xo.common.validator.log;

import com.xo.common.constant.RegexPatternConstant;
import com.xo.common.validator.PhoneValidator;
import jakarta.validation.Constraint;
import jakarta.validation.Payload;

import java.lang.annotation.*;

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Constraint(validatedBy = PhoneValidator.class)
public @interface Phone {

    // 1. 校验失败的默认提示消息
    String message() default "手机号格式错误";

    // 2. 分组校验：用于同一字段在不同场景下的校验（如新增/修改）
    Class<?>[] groups() default {};

    // 3. 负载信息：用于传递额外元数据（很少使用）
    Class<? extends Payload>[] payload() default {};

    String regex() default RegexPatternConstant.PHONE_REGEX;
}
